{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "#@title Licensed under the Apache License, Version 2.0 (the \"License\"); { display-mode: \"form\" }\n",
    "# you may not use this file except in compliance with the License.\n",
    "# You may obtain a copy of the License at\n",
    "#\n",
    "# https://www.apache.org/licenses/LICENSE-2.0\n",
    "#\n",
    "# Unless required by applicable law or agreed to in writing, software\n",
    "# distributed under the License is distributed on an \"AS IS\" BASIS,\n",
    "# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n",
    "# See the License for the specific language governing permissions and\n",
    "# limitations under the License."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# HMC, SGMCMC and MFVI on Synthetic Regression"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import os\n",
    "import sys\n",
    "from jax import config\n",
    "import haiku as hk\n",
    "import jax\n",
    "from jax import numpy as jnp\n",
    "import numpy as onp\n",
    "import time\n",
    "from jax.experimental.callback import rewrite\n",
    "import tqdm\n",
    "import copy\n",
    "\n",
    "from bnn_hmc.utils import data_utils\n",
    "from bnn_hmc.utils import models\n",
    "from bnn_hmc.utils import losses\n",
    "from bnn_hmc.utils import checkpoint_utils\n",
    "from bnn_hmc.utils import cmd_args_utils\n",
    "from bnn_hmc.utils import logging_utils\n",
    "from bnn_hmc.utils import train_utils\n",
    "from bnn_hmc.utils import tree_utils\n",
    "from bnn_hmc.utils import precision_utils\n",
    "from bnn_hmc.utils import optim_utils\n",
    "\n",
    "import optax\n",
    "import functools\n",
    "\n",
    "from matplotlib import pyplot as plt\n",
    "\n",
    "%matplotlib inline\n",
    "%load_ext autoreload\n",
    "%autoreload 2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "# tpu_ip = \"10.0.0.2\"\n",
    "# config.FLAGS.jax_xla_backend = \"tpu_driver\"\n",
    "# config.FLAGS.jax_backend_target = \"grpc://{}:8470\".format(tpu_ip)\n",
    "train_utils.set_up_jax(None, False)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "data_npz = onp.load(\"synth_reg_data.npz\")\n",
    "x_ = jnp.asarray(data_npz[\"x_\"])\n",
    "y_ = jnp.asarray(data_npz[\"y_\"])\n",
    "f_ = jnp.asarray(data_npz[\"f_\"])\n",
    "x = jnp.asarray(data_npz[\"x\"])\n",
    "y = jnp.asarray(data_npz[\"y\"])\n",
    "f = jnp.asarray(data_npz[\"f\"])\n",
    "\n",
    "data_info = {\"y_scale\": 1.}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "def inv_softplus(x):\n",
    "    return jnp.log(jnp.exp(x) - 1)\n",
    "\n",
    "# Noise in the data\n",
    "noise_std = 0.02\n",
    "invsp_noise_std = inv_softplus(noise_std)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7f174cf5ed00>]"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(x, y, \"bo\")\n",
    "plt.plot(x_, y_, \"-k\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "num_devices = len(jax.devices())\n",
    "train_set = (f, y)\n",
    "test_set = (f_, y_)\n",
    "train_set = data_utils.pmap_dataset(train_set, num_devices)\n",
    "test_set = data_utils.pmap_dataset(test_set, num_devices)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "def make_model(layer_dims, invsp_noise_std):\n",
    "    def forward(batch, is_training):\n",
    "        x, _ = batch\n",
    "        x = hk.Flatten()(x)\n",
    "        for layer_dim in layer_dims:\n",
    "            x = hk.Linear(layer_dim)(x)\n",
    "            x = jax.nn.relu(x)\n",
    "        x = hk.Linear(1)(x)\n",
    "        x = jnp.concatenate([x, jnp.ones_like(x) * invsp_noise_std], -1)\n",
    "        return x\n",
    "    return forward"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "# net_fn = models.make_mlp_regression(data_info, output_dim=1, layer_dims=[100, 100, 100])\n",
    "net_fn = make_model(layer_dims=[100, 100, 100], invsp_noise_std=invsp_noise_std)\n",
    "net = hk.transform_with_state(net_fn)\n",
    "net_apply, net_init = net.apply, net.init\n",
    "net_apply = precision_utils.rewrite_high_precision(net_apply)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "# key, net_init_key = jax.random.split(jax.random.PRNGKey(0), 2)\n",
    "# start_iteration = 0\n",
    "# num_ensembled = 0\n",
    "# ensemble_predictions = None\n",
    "# step_size = 1.e-4"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "def resample_params(seed, params, std=0.005):\n",
    "    key = jax.random.PRNGKey(seed)\n",
    "    num_leaves = len(jax.tree_leaves(params))\n",
    "    normal_keys = list(jax.random.split(key, num_leaves))\n",
    "    treedef = jax.tree_structure(params)\n",
    "    normal_keys = jax.tree_unflatten(treedef, normal_keys)\n",
    "    params = jax.tree_multimap(lambda p, k: jax.random.normal(k, p.shape) * std,\n",
    "                               params, normal_keys)\n",
    "    return params"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "param_seed = 2\n",
    "params, net_state = net.init(jax.random.PRNGKey(param_seed), (f, None), True)\n",
    "params = resample_params(param_seed, params)\n",
    "net_state = jax.pmap(lambda _: net_state)(jnp.arange(num_devices))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Prior and likelihood"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "prior_std = 0.1\n",
    "weight_decay = 1 / prior_std**2\n",
    "\n",
    "task = data_utils.Task(\"regression\")\n",
    "(likelihood_factory, predict_fn, ensemble_upd_fn, _,_) = train_utils.get_task_specific_fns(task, data_info)\n",
    "log_prior_fn, log_prior_diff_fn = losses.make_gaussian_log_prior(weight_decay, 1.)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "log_prior_fn, log_prior_diff_fn = (\n",
    "    losses.make_gaussian_log_prior(weight_decay, 1.))\n",
    "log_likelihood_fn = losses.make_gaussian_likelihood(1.)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## HMC\n",
    "### HMC update"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Leapfrog steps per iteration: 15708\n"
     ]
    }
   ],
   "source": [
    "step_size = 1e-5\n",
    "trajectory_len = jnp.pi / 2 / jnp.sqrt(weight_decay)\n",
    "max_num_leapfrog_steps = int(trajectory_len // step_size + 1)\n",
    "print(\"Leapfrog steps per iteration:\", max_num_leapfrog_steps)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "update, get_log_prob_and_grad = train_utils.make_hmc_update(\n",
    "    net_apply, log_likelihood_fn, log_prior_fn, log_prior_diff_fn,\n",
    "    max_num_leapfrog_steps, 1., 0.)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Initial log-prob and grad values\n",
    "log_prob, state_grad, log_likelihood, net_state = (\n",
    "    get_log_prob_and_grad(train_set, params, net_state))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Run HMC"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  0%|          | 0/100 [00:00<?, ?it/s]/home/pavel/anaconda3/envs/py38/lib/python3.8/site-packages/numpy/core/_asarray.py:83: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray\n",
      "  return array(a, dtype, copy=False, order=order)\n",
      "  1%|          | 1/100 [00:04<08:14,  4.99s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 0 \t Accept P: 0.44331416487693787 \t Accepted False \t Log-likelihood: -4750.1806640625\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      "  2%|▏         | 2/100 [00:09<07:40,  4.70s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 1 \t Accept P: 0.6106910705566406 \t Accepted True \t Log-likelihood: 288.75006103515625\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      "  3%|▎         | 3/100 [00:13<07:25,  4.59s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 2 \t Accept P: 0.6960702538490295 \t Accepted False \t Log-likelihood: 288.75006103515625\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      "  4%|▍         | 4/100 [00:18<07:10,  4.49s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 3 \t Accept P: 0.3969963788986206 \t Accepted False \t Log-likelihood: 288.75006103515625\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      "  5%|▌         | 5/100 [00:22<07:02,  4.45s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 4 \t Accept P: 0.5421000719070435 \t Accepted True \t Log-likelihood: 296.9173583984375\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      "  6%|▌         | 6/100 [00:27<06:55,  4.42s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 5 \t Accept P: 1.0 \t Accepted True \t Log-likelihood: 300.0396728515625\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      "  7%|▋         | 7/100 [00:31<06:54,  4.46s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 6 \t Accept P: 0.8234943747520447 \t Accepted True \t Log-likelihood: 304.6881408691406\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      "  8%|▊         | 8/100 [00:36<06:50,  4.46s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 7 \t Accept P: 0.7535507082939148 \t Accepted True \t Log-likelihood: 306.29449462890625\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      "  9%|▉         | 9/100 [00:40<06:42,  4.43s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 8 \t Accept P: 0.7557385563850403 \t Accepted True \t Log-likelihood: 300.27215576171875\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 10%|█         | 10/100 [00:44<06:38,  4.43s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 9 \t Accept P: 1.0 \t Accepted True \t Log-likelihood: 307.8955993652344\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 11%|█         | 11/100 [00:49<06:34,  4.43s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 10 \t Accept P: 1.0 \t Accepted True \t Log-likelihood: 305.6859130859375\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 12%|█▏        | 12/100 [00:53<06:30,  4.44s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 11 \t Accept P: 0.5808966755867004 \t Accepted True \t Log-likelihood: 301.56597900390625\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 13%|█▎        | 13/100 [00:58<06:24,  4.42s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 12 \t Accept P: 1.0 \t Accepted True \t Log-likelihood: 305.988037109375\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 14%|█▍        | 14/100 [01:02<06:19,  4.42s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 13 \t Accept P: 1.0 \t Accepted True \t Log-likelihood: 301.1233215332031\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 15%|█▌        | 15/100 [01:06<06:12,  4.38s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 14 \t Accept P: 1.0 \t Accepted True \t Log-likelihood: 304.947509765625\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 16%|█▌        | 16/100 [01:11<06:08,  4.38s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 15 \t Accept P: 0.6118027567863464 \t Accepted False \t Log-likelihood: 304.947509765625\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 17%|█▋        | 17/100 [01:15<06:04,  4.39s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 16 \t Accept P: 1.0 \t Accepted True \t Log-likelihood: 301.9200439453125\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 18%|█▊        | 18/100 [01:20<06:01,  4.40s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 17 \t Accept P: 0.6961233615875244 \t Accepted True \t Log-likelihood: 299.6227722167969\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 19%|█▉        | 19/100 [01:24<05:56,  4.40s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 18 \t Accept P: 1.0 \t Accepted True \t Log-likelihood: 298.88525390625\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 20%|██        | 20/100 [01:28<05:50,  4.38s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 19 \t Accept P: 0.564547061920166 \t Accepted True \t Log-likelihood: 305.3060302734375\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 21%|██        | 21/100 [01:32<05:43,  4.35s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 20 \t Accept P: 1.0 \t Accepted True \t Log-likelihood: 306.0487060546875\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 22%|██▏       | 22/100 [01:37<05:39,  4.35s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 21 \t Accept P: 1.0 \t Accepted True \t Log-likelihood: 304.29803466796875\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 23%|██▎       | 23/100 [01:41<05:35,  4.36s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 22 \t Accept P: 0.931722104549408 \t Accepted True \t Log-likelihood: 306.2374267578125\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 24%|██▍       | 24/100 [01:46<05:30,  4.35s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 23 \t Accept P: 0.9963369965553284 \t Accepted True \t Log-likelihood: 307.23046875\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 25%|██▌       | 25/100 [01:50<05:26,  4.35s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 24 \t Accept P: 0.9574736952781677 \t Accepted True \t Log-likelihood: 304.567626953125\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 26%|██▌       | 26/100 [01:54<05:21,  4.35s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 25 \t Accept P: 1.0 \t Accepted True \t Log-likelihood: 301.8046875\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 27%|██▋       | 27/100 [01:59<05:17,  4.35s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 26 \t Accept P: 0.6117029786109924 \t Accepted True \t Log-likelihood: 305.7394104003906\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 28%|██▊       | 28/100 [02:03<05:15,  4.39s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 27 \t Accept P: 0.8127864599227905 \t Accepted False \t Log-likelihood: 305.7394104003906\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 29%|██▉       | 29/100 [02:07<05:11,  4.39s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 28 \t Accept P: 0.8444713354110718 \t Accepted True \t Log-likelihood: 302.2467041015625\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 30%|███       | 30/100 [02:12<05:07,  4.39s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 29 \t Accept P: 1.0 \t Accepted True \t Log-likelihood: 304.6074523925781\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 31%|███       | 31/100 [02:16<05:03,  4.39s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 30 \t Accept P: 1.0 \t Accepted True \t Log-likelihood: 303.765869140625\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 32%|███▏      | 32/100 [02:21<04:58,  4.39s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 31 \t Accept P: 0.8158897757530212 \t Accepted True \t Log-likelihood: 303.4247741699219\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 33%|███▎      | 33/100 [02:25<04:53,  4.38s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 32 \t Accept P: 0.8440139889717102 \t Accepted False \t Log-likelihood: 303.4247741699219\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 34%|███▍      | 34/100 [02:29<04:49,  4.38s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 33 \t Accept P: 1.0 \t Accepted True \t Log-likelihood: 305.3061828613281\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 35%|███▌      | 35/100 [02:34<04:45,  4.39s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 34 \t Accept P: 0.9191089868545532 \t Accepted True \t Log-likelihood: 305.9798583984375\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 36%|███▌      | 36/100 [02:38<04:40,  4.39s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 35 \t Accept P: 0.6415802836418152 \t Accepted True \t Log-likelihood: 303.8466796875\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 37%|███▋      | 37/100 [02:43<04:35,  4.38s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 36 \t Accept P: 1.0 \t Accepted True \t Log-likelihood: 305.57568359375\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 38%|███▊      | 38/100 [02:47<04:31,  4.38s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 37 \t Accept P: 0.8615278601646423 \t Accepted True \t Log-likelihood: 303.54656982421875\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 39%|███▉      | 39/100 [02:51<04:28,  4.40s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 38 \t Accept P: 0.7682139277458191 \t Accepted False \t Log-likelihood: 303.54656982421875\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 40%|████      | 40/100 [02:56<04:24,  4.41s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 39 \t Accept P: 0.9846616983413696 \t Accepted True \t Log-likelihood: 306.8083190917969\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 41%|████      | 41/100 [03:00<04:20,  4.41s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 40 \t Accept P: 1.0 \t Accepted True \t Log-likelihood: 302.1324157714844\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 42%|████▏     | 42/100 [03:05<04:17,  4.43s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 41 \t Accept P: 0.9805086255073547 \t Accepted True \t Log-likelihood: 307.1108093261719\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 43%|████▎     | 43/100 [03:09<04:10,  4.40s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 42 \t Accept P: 1.0 \t Accepted True \t Log-likelihood: 306.416015625\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 44%|████▍     | 44/100 [03:13<04:05,  4.39s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 43 \t Accept P: 1.0 \t Accepted True \t Log-likelihood: 305.84716796875\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 45%|████▌     | 45/100 [03:18<04:02,  4.41s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 44 \t Accept P: 1.0 \t Accepted True \t Log-likelihood: 305.4182434082031\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 46%|████▌     | 46/100 [03:22<03:58,  4.42s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 45 \t Accept P: 0.6943941116333008 \t Accepted True \t Log-likelihood: 302.2402648925781\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 47%|████▋     | 47/100 [03:27<03:55,  4.44s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 46 \t Accept P: 0.7107853293418884 \t Accepted True \t Log-likelihood: 306.53033447265625\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 48%|████▊     | 48/100 [03:31<03:51,  4.45s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 47 \t Accept P: 1.0 \t Accepted True \t Log-likelihood: 305.1146240234375\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 49%|████▉     | 49/100 [03:36<03:47,  4.47s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 48 \t Accept P: 1.0 \t Accepted True \t Log-likelihood: 305.091796875\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 50%|█████     | 50/100 [03:40<03:41,  4.44s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 49 \t Accept P: 0.8162509202957153 \t Accepted True \t Log-likelihood: 301.1991271972656\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 51%|█████     | 51/100 [03:45<03:37,  4.43s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 50 \t Accept P: 1.0 \t Accepted True \t Log-likelihood: 307.944091796875\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 52%|█████▏    | 52/100 [03:49<03:33,  4.45s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 51 \t Accept P: 1.0 \t Accepted True \t Log-likelihood: 298.5113220214844\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 53%|█████▎    | 53/100 [03:53<03:28,  4.44s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 52 \t Accept P: 0.7043398022651672 \t Accepted True \t Log-likelihood: 305.8555603027344\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 54%|█████▍    | 54/100 [03:58<03:24,  4.44s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 53 \t Accept P: 0.8012942671775818 \t Accepted False \t Log-likelihood: 305.8555603027344\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 55%|█████▌    | 55/100 [04:02<03:18,  4.42s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 54 \t Accept P: 1.0 \t Accepted True \t Log-likelihood: 304.7760009765625\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 56%|█████▌    | 56/100 [04:07<03:14,  4.41s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 55 \t Accept P: 0.6312505006790161 \t Accepted True \t Log-likelihood: 304.8714599609375\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 57%|█████▋    | 57/100 [04:11<03:11,  4.45s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 56 \t Accept P: 0.587206244468689 \t Accepted True \t Log-likelihood: 303.06591796875\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 58%|█████▊    | 58/100 [04:16<03:06,  4.44s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 57 \t Accept P: 1.0 \t Accepted True \t Log-likelihood: 304.20025634765625\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 59%|█████▉    | 59/100 [04:20<03:01,  4.44s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 58 \t Accept P: 1.0 \t Accepted True \t Log-likelihood: 304.043212890625\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 60%|██████    | 60/100 [04:25<02:57,  4.44s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 59 \t Accept P: 0.8979959487915039 \t Accepted True \t Log-likelihood: 307.18310546875\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 61%|██████    | 61/100 [04:29<02:52,  4.42s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 60 \t Accept P: 0.4929855465888977 \t Accepted True \t Log-likelihood: 305.50341796875\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 62%|██████▏   | 62/100 [04:33<02:48,  4.44s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 61 \t Accept P: 0.7391082048416138 \t Accepted True \t Log-likelihood: 306.798583984375\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 63%|██████▎   | 63/100 [04:38<02:44,  4.45s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 62 \t Accept P: 0.5848143100738525 \t Accepted False \t Log-likelihood: 306.798583984375\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 64%|██████▍   | 64/100 [04:42<02:39,  4.44s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 63 \t Accept P: 1.0 \t Accepted True \t Log-likelihood: 306.85125732421875\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 65%|██████▌   | 65/100 [04:47<02:35,  4.45s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 64 \t Accept P: 0.7779322266578674 \t Accepted True \t Log-likelihood: 306.869384765625\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 66%|██████▌   | 66/100 [04:51<02:31,  4.46s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 65 \t Accept P: 0.6985174417495728 \t Accepted True \t Log-likelihood: 306.8277587890625\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 67%|██████▋   | 67/100 [04:56<02:27,  4.46s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 66 \t Accept P: 0.6850852966308594 \t Accepted True \t Log-likelihood: 303.6003112792969\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 68%|██████▊   | 68/100 [05:00<02:22,  4.44s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 67 \t Accept P: 0.5190920829772949 \t Accepted False \t Log-likelihood: 303.6003112792969\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 69%|██████▉   | 69/100 [05:05<02:17,  4.45s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 68 \t Accept P: 0.755415678024292 \t Accepted True \t Log-likelihood: 303.3385314941406\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 70%|███████   | 70/100 [05:09<02:12,  4.43s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 69 \t Accept P: 1.0 \t Accepted True \t Log-likelihood: 305.12713623046875\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 71%|███████   | 71/100 [05:13<02:08,  4.43s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 70 \t Accept P: 0.6588325500488281 \t Accepted False \t Log-likelihood: 305.12713623046875\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 72%|███████▏  | 72/100 [05:18<02:04,  4.44s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 71 \t Accept P: 1.0 \t Accepted True \t Log-likelihood: 305.7940979003906\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 73%|███████▎  | 73/100 [05:22<01:59,  4.43s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 72 \t Accept P: 1.0 \t Accepted True \t Log-likelihood: 306.1658935546875\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 74%|███████▍  | 74/100 [05:27<01:57,  4.54s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 73 \t Accept P: 0.7336950302124023 \t Accepted True \t Log-likelihood: 302.37982177734375\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 75%|███████▌  | 75/100 [05:31<01:52,  4.51s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 74 \t Accept P: 1.0 \t Accepted True \t Log-likelihood: 306.50946044921875\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 76%|███████▌  | 76/100 [05:36<01:47,  4.50s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 75 \t Accept P: 0.8105541467666626 \t Accepted True \t Log-likelihood: 306.75286865234375\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 77%|███████▋  | 77/100 [05:40<01:43,  4.48s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 76 \t Accept P: 0.7997856736183167 \t Accepted False \t Log-likelihood: 306.75286865234375\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 78%|███████▊  | 78/100 [05:45<01:38,  4.46s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 77 \t Accept P: 1.0 \t Accepted True \t Log-likelihood: 302.4058837890625\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 79%|███████▉  | 79/100 [05:49<01:34,  4.48s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 78 \t Accept P: 0.3538023829460144 \t Accepted True \t Log-likelihood: 304.36431884765625\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 80%|████████  | 80/100 [05:54<01:29,  4.48s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 79 \t Accept P: 0.9218899607658386 \t Accepted False \t Log-likelihood: 304.36431884765625\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 81%|████████  | 81/100 [05:58<01:24,  4.46s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 80 \t Accept P: 1.0 \t Accepted True \t Log-likelihood: 307.56768798828125\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 82%|████████▏ | 82/100 [06:03<01:20,  4.45s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 81 \t Accept P: 1.0 \t Accepted True \t Log-likelihood: 305.87567138671875\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 83%|████████▎ | 83/100 [06:07<01:16,  4.48s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 82 \t Accept P: 0.801703929901123 \t Accepted True \t Log-likelihood: 305.25006103515625\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 84%|████████▍ | 84/100 [06:12<01:11,  4.48s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 83 \t Accept P: 0.664260745048523 \t Accepted False \t Log-likelihood: 305.25006103515625\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 85%|████████▌ | 85/100 [06:16<01:07,  4.49s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 84 \t Accept P: 0.9909999370574951 \t Accepted True \t Log-likelihood: 303.90130615234375\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 86%|████████▌ | 86/100 [06:21<01:02,  4.48s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 85 \t Accept P: 0.8348080515861511 \t Accepted True \t Log-likelihood: 303.3831787109375\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 87%|████████▋ | 87/100 [06:25<00:57,  4.45s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 86 \t Accept P: 0.6714239716529846 \t Accepted False \t Log-likelihood: 303.3831787109375\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 88%|████████▊ | 88/100 [06:30<00:53,  4.48s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 87 \t Accept P: 0.8639897108078003 \t Accepted True \t Log-likelihood: 303.21063232421875\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 89%|████████▉ | 89/100 [06:34<00:49,  4.48s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 88 \t Accept P: 0.8214362263679504 \t Accepted False \t Log-likelihood: 303.21063232421875\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 90%|█████████ | 90/100 [06:38<00:44,  4.45s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 89 \t Accept P: 0.6487197279930115 \t Accepted True \t Log-likelihood: 304.1519775390625\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 91%|█████████ | 91/100 [06:43<00:40,  4.47s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 90 \t Accept P: 0.4721648097038269 \t Accepted True \t Log-likelihood: 302.0124816894531\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 92%|█████████▏| 92/100 [06:47<00:35,  4.48s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 91 \t Accept P: 1.0 \t Accepted True \t Log-likelihood: 303.7568359375\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 93%|█████████▎| 93/100 [06:52<00:31,  4.49s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 92 \t Accept P: 1.0 \t Accepted True \t Log-likelihood: 304.6117248535156\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 94%|█████████▍| 94/100 [06:57<00:27,  4.53s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 93 \t Accept P: 1.0 \t Accepted True \t Log-likelihood: 305.64404296875\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 95%|█████████▌| 95/100 [07:01<00:22,  4.50s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 94 \t Accept P: 0.7609601616859436 \t Accepted True \t Log-likelihood: 301.7269592285156\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 96%|█████████▌| 96/100 [07:05<00:17,  4.48s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 95 \t Accept P: 0.827881932258606 \t Accepted False \t Log-likelihood: 301.7269592285156\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 97%|█████████▋| 97/100 [07:10<00:13,  4.49s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 96 \t Accept P: 0.9865039587020874 \t Accepted True \t Log-likelihood: 306.21209716796875\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 98%|█████████▊| 98/100 [07:14<00:08,  4.48s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 97 \t Accept P: 1.0 \t Accepted True \t Log-likelihood: 306.2794189453125\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 99%|█████████▉| 99/100 [07:19<00:04,  4.51s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 98 \t Accept P: 0.4154016077518463 \t Accepted True \t Log-likelihood: 306.2530212402344\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████| 100/100 [07:23<00:00,  4.44s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "It: 99 \t Accept P: 0.6763861179351807 \t Accepted False \t Log-likelihood: 306.2530212402344\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n"
     ]
    }
   ],
   "source": [
    "num_iterations = 100\n",
    "all_test_preds = []\n",
    "key = jax.random.PRNGKey(0)\n",
    "\n",
    "for iteration in tqdm.tqdm(range(num_iterations)):\n",
    "    \n",
    "#     in_burnin = (iteration < args.num_burn_in_iterations)\n",
    "#     do_mh_correction = (not args.no_mh) and (not in_burnin)\n",
    "\n",
    "    (params, net_state, log_likelihood, state_grad, step_size, key,\n",
    "     accept_prob, accepted) = (\n",
    "        update(train_set, params, net_state, log_likelihood, state_grad,\n",
    "               key, step_size, trajectory_len, True))\n",
    "    # Evaluation\n",
    "    test_predictions = onp.asarray(\n",
    "      predict_fn(net_apply, params, net_state, test_set))\n",
    "    if accepted:\n",
    "        all_test_preds.append(test_predictions)\n",
    "\n",
    "    print(\"It: {} \\t Accept P: {} \\t Accepted {} \\t Log-likelihood: {}\".format(\n",
    "            iteration, accept_prob, accepted, log_likelihood))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "all_test_preds = [p[1] for p in all_test_preds]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "for pred in all_test_preds[:]:\n",
    "    plt.plot(x_, pred[0, :, 0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [],
   "source": [
    "preds_concat = onp.concatenate(all_test_preds, axis=0)\n",
    "# onp.save(\"synthreg_hmc_chain2.npy\", preds_concat)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## SGLD"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 526,
   "metadata": {},
   "outputs": [],
   "source": [
    "from bnn_hmc.core import sgmcmc"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 527,
   "metadata": {},
   "outputs": [],
   "source": [
    "lr_schedule = train_utils.make_cosine_lr_schedule_with_burnin(3.e-8, 3.e-8, 1)\n",
    "optimizer = sgmcmc.sgld_gradient_update(lr_schedule, 0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 528,
   "metadata": {},
   "outputs": [],
   "source": [
    "param_seed = 0\n",
    "params, net_state = net.init(jax.random.PRNGKey(param_seed), (f, None), True)\n",
    "params = resample_params(param_seed, params, std=0.05)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 529,
   "metadata": {},
   "outputs": [],
   "source": [
    "sgmcmc_train_epoch = train_utils.make_sgd_train_epoch(\n",
    "    net_apply, log_likelihood_fn, log_prior_fn, optimizer, num_batches=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 530,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████| 100000/100000 [02:42<00:00, 615.98it/s]\n"
     ]
    }
   ],
   "source": [
    "num_iterations = 100000\n",
    "all_test_preds = []\n",
    "key = jax.random.PRNGKey(0)\n",
    "key = jax.random.split(key, num_devices)\n",
    "save_freq = 1000\n",
    "\n",
    "for iteration in tqdm.tqdm(range(num_iterations)):\n",
    "    params, net_state, opt_state, logprob_avg, key = sgmcmc_train_epoch(\n",
    "        params, net_state, opt_state, train_set, key)\n",
    "    if iteration % save_freq == 0:\n",
    "        test_predictions = onp.asarray(\n",
    "              predict_fn(net_apply, params, net_state, test_set))\n",
    "        all_test_preds.append(test_predictions)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 531,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7f21c8689b50>]"
      ]
     },
     "execution_count": 531,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "for pred in all_test_preds:#[::10][4:]:\n",
    "    plt.plot(x_, pred[0, :, 0])\n",
    "    \n",
    "plt.plot(x, y, \"ro\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 532,
   "metadata": {},
   "outputs": [],
   "source": [
    "preds_concat = onp.concatenate(all_test_preds, axis=0)\n",
    "# onp.save(\"synthreg_sgld3e8.npy\", preds_concat)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## SGHMC"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [],
   "source": [
    "from bnn_hmc.core import sgmcmc"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [],
   "source": [
    "lr = 1.e-8\n",
    "mom = 0.95\n",
    "lr_schedule = optim_utils.make_constant_lr_schedule_with_cosine_burnin(lr, lr, 1)\n",
    "optimizer = sgmcmc.sgld_gradient_update(lr_schedule, momentum_decay=mom, seed=0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [],
   "source": [
    "param_seed = 0\n",
    "params, net_state = net.init(jax.random.PRNGKey(param_seed), (f, None), True)\n",
    "params = resample_params(param_seed, params, std=0.05)\n",
    "opt_state = optimizer.init(params)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [],
   "source": [
    "sgmcmc_train_epoch = train_utils.make_sgd_train_epoch(\n",
    "    net_apply, log_likelihood_fn, log_prior_fn, optimizer, num_batches=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████| 100000/100000 [03:32<00:00, 471.36it/s]\n"
     ]
    }
   ],
   "source": [
    "num_iterations = 100000\n",
    "all_test_preds = []\n",
    "key = jax.random.PRNGKey(0)\n",
    "key = jax.random.split(key, num_devices)\n",
    "save_freq = 1000\n",
    "\n",
    "for iteration in tqdm.tqdm(range(num_iterations)):\n",
    "    params, net_state, opt_state, logprob_avg, key = sgmcmc_train_epoch(\n",
    "        params, net_state, opt_state, train_set, key)\n",
    "    if iteration % save_freq == 0:\n",
    "        test_predictions = onp.asarray(\n",
    "              predict_fn(net_apply, params, net_state, test_set))\n",
    "        all_test_preds.append(test_predictions)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7fc36ed78250>]"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "for pred in all_test_preds[2:]:#[::10][4:]:\n",
    "    plt.plot(x_, pred[0, :, 0])\n",
    "    \n",
    "plt.plot(x, y, \"ro\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [],
   "source": [
    "preds_concat = onp.concatenate(all_test_preds, axis=0)\n",
    "onp.save(\"synthreg_sghmc_lr{}_mom{}.npy\".format(lr, mom), preds_concat)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## SGHMC with Cyclical  LR"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 93,
   "metadata": {},
   "outputs": [],
   "source": [
    "from bnn_hmc.core import sgmcmc"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 94,
   "metadata": {},
   "outputs": [],
   "source": [
    "lr = 3.e-8\n",
    "mom = 0.95\n",
    "burnin_len = 1000\n",
    "cycle_len = 1000\n",
    "\n",
    "lr_schedule = optim_utils.make_cyclical_cosine_lr_schedule_with_const_burnin(lr, burnin_len, cycle_len)\n",
    "optimizer = sgmcmc.sgld_gradient_update(lr_schedule, momentum_decay=mom, preconditioner=None, seed=0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 95,
   "metadata": {},
   "outputs": [],
   "source": [
    "param_seed = 0\n",
    "params, net_state = net.init(jax.random.PRNGKey(param_seed), (f, None), True)\n",
    "params = resample_params(param_seed, params, std=0.05)\n",
    "opt_state = optimizer.init(params)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 96,
   "metadata": {},
   "outputs": [],
   "source": [
    "sgmcmc_train_epoch = train_utils.make_sgd_train_epoch(\n",
    "    net_apply, log_likelihood_fn, log_prior_fn, optimizer, num_batches=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 97,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████| 100000/100000 [07:07<00:00, 234.18it/s]\n"
     ]
    }
   ],
   "source": [
    "num_iterations = 100000\n",
    "all_test_preds = []\n",
    "key = jax.random.PRNGKey(0)\n",
    "key = jax.random.split(key, num_devices)\n",
    "lrs = []\n",
    "\n",
    "\n",
    "for iteration in tqdm.tqdm(range(num_iterations)):\n",
    "    params, net_state, opt_state, logprob_avg, key = sgmcmc_train_epoch(\n",
    "        params, net_state, opt_state, train_set, key)\n",
    "    \n",
    "    lr = lr_schedule(opt_state.count)\n",
    "    lrs.append(lr)\n",
    "    if iteration > burnin_len and (iteration - burnin_len + 1) % cycle_len == 0:\n",
    "#         print(\"lr:\", lr)\n",
    "        test_predictions = onp.asarray(\n",
    "              predict_fn(net_apply, params, net_state, test_set))\n",
    "        all_test_preds.append(test_predictions)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 98,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7fc3608e46a0>]"
      ]
     },
     "execution_count": 98,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "for pred in all_test_preds[2:]:#[::10][4:]:\n",
    "    plt.plot(x_, pred[0, :, 0])\n",
    "    \n",
    "plt.plot(x, y, \"ro\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 99,
   "metadata": {},
   "outputs": [],
   "source": [
    "preds_concat = onp.concatenate(all_test_preds, axis=0)\n",
    "onp.save(\"synthreg_sghmc_cyclical_lr{}_mom{}.npy\".format(lr, mom), preds_concat)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## SGHMC with PreConditioner"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [],
   "source": [
    "from bnn_hmc.core import sgmcmc"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [],
   "source": [
    "lr = 1.e-5\n",
    "mom = 0.95\n",
    "lr_schedule = optim_utils.make_constant_lr_schedule_with_cosine_burnin(lr, lr, 1)\n",
    "preconditioner = sgmcmc.get_rmsprop_preconditioner()\n",
    "optimizer = sgmcmc.sgld_gradient_update(lr_schedule, momentum_decay=mom, preconditioner=preconditioner, seed=0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [],
   "source": [
    "param_seed = 0\n",
    "params, net_state = net.init(jax.random.PRNGKey(param_seed), (f, None), True)\n",
    "params = resample_params(param_seed, params, std=0.05)\n",
    "opt_state = optimizer.init(params)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [],
   "source": [
    "sgmcmc_train_epoch = train_utils.make_sgd_train_epoch(\n",
    "    net_apply, log_likelihood_fn, log_prior_fn, optimizer, num_batches=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████| 100000/100000 [04:27<00:00, 373.72it/s]\n"
     ]
    }
   ],
   "source": [
    "num_iterations = 100000\n",
    "all_test_preds = []\n",
    "key = jax.random.PRNGKey(0)\n",
    "key = jax.random.split(key, num_devices)\n",
    "save_freq = 1000\n",
    "\n",
    "for iteration in tqdm.tqdm(range(num_iterations)):\n",
    "    params, net_state, opt_state, logprob_avg, key = sgmcmc_train_epoch(\n",
    "        params, net_state, opt_state, train_set, key)\n",
    "    if iteration % save_freq == 0:\n",
    "        test_predictions = onp.asarray(\n",
    "              predict_fn(net_apply, params, net_state, test_set))\n",
    "        all_test_preds.append(test_predictions)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7fc36ea47190>]"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "for pred in all_test_preds[2:]:#[::10][4:]:\n",
    "    plt.plot(x_, pred[0, :, 0])\n",
    "    \n",
    "plt.plot(x, y, \"ro\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [],
   "source": [
    "preds_concat = onp.concatenate(all_test_preds, axis=0)\n",
    "onp.save(\"synthreg_sghmc_rmsprop_lr{}_mom{}.npy\".format(lr, mom), preds_concat)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## SGHMC with PreConditioner with Cyclical  LR"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {},
   "outputs": [],
   "source": [
    "from bnn_hmc.core import sgmcmc"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [],
   "source": [
    "lr = 1.e-4\n",
    "mom = 0.95\n",
    "burnin_len = 1000\n",
    "cycle_len = 1000\n",
    "\n",
    "lr_schedule = optim_utils.make_cyclical_cosine_lr_schedule_with_const_burnin(lr, burnin_len, cycle_len)\n",
    "preconditioner = sgmcmc.get_rmsprop_preconditioner()\n",
    "optimizer = sgmcmc.sgld_gradient_update(lr_schedule, momentum_decay=mom, preconditioner=preconditioner, seed=0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {},
   "outputs": [],
   "source": [
    "param_seed = 0\n",
    "params, net_state = net.init(jax.random.PRNGKey(param_seed), (f, None), True)\n",
    "params = resample_params(param_seed, params, std=0.05)\n",
    "opt_state = optimizer.init(params)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {},
   "outputs": [],
   "source": [
    "sgmcmc_train_epoch = train_utils.make_sgd_train_epoch(\n",
    "    net_apply, log_likelihood_fn, log_prior_fn, optimizer, num_batches=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████| 100000/100000 [07:41<00:00, 216.74it/s]\n"
     ]
    }
   ],
   "source": [
    "num_iterations = 100000\n",
    "all_test_preds = []\n",
    "key = jax.random.PRNGKey(0)\n",
    "key = jax.random.split(key, num_devices)\n",
    "lrs = []\n",
    "\n",
    "\n",
    "for iteration in tqdm.tqdm(range(num_iterations)):\n",
    "    params, net_state, opt_state, logprob_avg, key = sgmcmc_train_epoch(\n",
    "        params, net_state, opt_state, train_set, key)\n",
    "    \n",
    "    lr = lr_schedule(opt_state.count)\n",
    "    lrs.append(lr)\n",
    "    if iteration > burnin_len and (iteration - burnin_len + 1) % cycle_len == 0:\n",
    "#         print(\"lr:\", lr)\n",
    "        test_predictions = onp.asarray(\n",
    "              predict_fn(net_apply, params, net_state, test_set))\n",
    "        all_test_preds.append(test_predictions)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7fc36518f7c0>]"
      ]
     },
     "execution_count": 68,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "for pred in all_test_preds[2:]:#[::10][4:]:\n",
    "    plt.plot(x_, pred[0, :, 0])\n",
    "    \n",
    "plt.plot(x, y, \"ro\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "metadata": {},
   "outputs": [],
   "source": [
    "preds_concat = onp.concatenate(all_test_preds, axis=0)\n",
    "onp.save(\"synthreg_sghmc_rmsprop_cyclical_lr{}_mom{}.npy\".format(lr, mom), preds_concat)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## SGD"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 119,
   "metadata": {},
   "outputs": [],
   "source": [
    "# prior_std = .1\n",
    "# weight_decay = 1 / prior_std**2\n",
    "\n",
    "# log_prior_fn, log_prior_diff_fn = losses.make_gaussian_log_prior(weight_decay, 1.)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 120,
   "metadata": {},
   "outputs": [],
   "source": [
    "net_fn = make_model(layer_dims=[100, 100, 100], invsp_noise_std=invsp_noise_std)\n",
    "net = hk.transform_with_state(net_fn)\n",
    "net_apply, net_init = net.apply, net.init\n",
    "net_apply = precision_utils.rewrite_high_precision(net_apply)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 121,
   "metadata": {},
   "outputs": [],
   "source": [
    "num_iterations = 1000"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 122,
   "metadata": {},
   "outputs": [],
   "source": [
    "lr_schedule = optim_utils.make_cosine_lr_schedule(1e-7, num_iterations)\n",
    "optimizer = optim_utils.make_sgd_optimizer(lr_schedule, momentum_decay=0.9)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 123,
   "metadata": {},
   "outputs": [],
   "source": [
    "sgd_train_epoch = train_utils.make_sgd_train_epoch(\n",
    "    net_apply, log_likelihood_fn, log_prior_fn, optimizer, num_batches=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 124,
   "metadata": {},
   "outputs": [],
   "source": [
    "param_seed = 2\n",
    "params, net_state = net.init(jax.random.PRNGKey(param_seed), (f, None), True)\n",
    "params = resample_params(param_seed, params, std=0.05)\n",
    "net_state = jax.pmap(lambda _: net_state)(jnp.arange(num_devices))\n",
    "opt_state = optimizer.init(params)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 125,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████| 1000/1000 [00:02<00:00, 378.62it/s]\n"
     ]
    }
   ],
   "source": [
    "key = jax.random.PRNGKey(0)\n",
    "key = jax.random.split(key, num_devices)\n",
    "\n",
    "for iteration in tqdm.tqdm(range(num_iterations)):\n",
    "    params, net_state, opt_state, logprob_avg, key = sgd_train_epoch(\n",
    "        params, net_state, opt_state, train_set, key)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 126,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/pavel/anaconda3/envs/py38/lib/python3.8/site-packages/numpy/core/_asarray.py:83: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray\n",
      "  return array(a, dtype, copy=False, order=order)\n"
     ]
    }
   ],
   "source": [
    "_, test_predictions = onp.asarray(\n",
    "    predict_fn(net_apply, params, net_state, test_set))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 127,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7f245017d100>]"
      ]
     },
     "execution_count": 127,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(x_, test_predictions[0, :, 0])\n",
    "plt.plot(x, y, \"ro\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {},
   "outputs": [],
   "source": [
    "checkpoint_utils.save_checkpoint(\"synthreg_sgd_params.pt\", {\"params\": params})"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## VI"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 385,
   "metadata": {},
   "outputs": [],
   "source": [
    "sgd_params = checkpoint_utils.load_checkpoint(\"synthreg_sgd_params.pt\")[\"params\"]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 386,
   "metadata": {},
   "outputs": [],
   "source": [
    "def get_mfvi_model_fn(net_fn, params, net_state, seed=0, sigma_init=0.):\n",
    "    #  net_fn(params, net_state, None, batch, is_training)\n",
    "    mean_params = jax.tree_map(lambda p: p.copy(), params)\n",
    "    std_params = jax.tree_map(lambda p: jnp.ones_like(p) * sigma_init, params)\n",
    "    mfvi_params = {\"mean\": mean_params, \"inv_softplus_std\": std_params}\n",
    "    mfvi_state = {\"net_state\": copy.deepcopy(net_state), \n",
    "                  \"mfvi_key\": jax.random.PRNGKey(seed)}\n",
    "    \n",
    "    def mfvi_apply_fn(params, state, _, batch, is_training):\n",
    "        mean = params[\"mean\"]\n",
    "        std = jax.tree_map(jax.nn.softplus, params[\"inv_softplus_std\"])\n",
    "        noise, new_key = tree_utils.normal_like_tree(mean, state[\"mfvi_key\"])\n",
    "        params_sampled = jax.tree_multimap(lambda m, s, n: m + n * s, mean, std, noise)\n",
    "        predictions, new_net_state = net_fn(params_sampled, state[\"net_state\"], None, batch, is_training)\n",
    "        new_mfvi_state = {\"net_state\": copy.deepcopy(new_net_state), \n",
    "                          \"mfvi_key\": new_key}\n",
    "        return predictions, new_mfvi_state\n",
    "    \n",
    "    return mfvi_apply_fn, mfvi_params, mfvi_state, "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 387,
   "metadata": {},
   "outputs": [],
   "source": [
    "def make_elbo_gaussian_log_prior(weight_decay, temperature):\n",
    "    def log_prior(params):\n",
    "        n_params = sum([p.size for p in jax.tree_leaves(params)])\n",
    "        sigma_prior = jnp.sqrt(1 / weight_decay)\n",
    "        \n",
    "        mu_vi_tree = params[\"mean\"]\n",
    "        sigma_vi_tree = jax.tree_map(jax.nn.softplus, params[\"inv_softplus_std\"])\n",
    "        \n",
    "        def get_parameter_kl(mu_vi, sigma_vi):\n",
    "            return (jnp.log(sigma_prior / sigma_vi) + \n",
    "                    (sigma_vi**2 + mu_vi**2) / 2 / sigma_prior**2 - 1 / 2)\n",
    "        \n",
    "        kl_tree = jax.tree_multimap(get_parameter_kl, mu_vi_tree, sigma_vi_tree)\n",
    "        kl = sum([p_kl.sum() for p_kl in jax.tree_leaves(kl_tree)])\n",
    "\n",
    "        return -kl / temperature\n",
    "  \n",
    "    def log_prior_diff(params1, params2):\n",
    "        raise NotImplementedError\n",
    "\n",
    "\n",
    "    return log_prior, log_prior_diff\n",
    "\n",
    "\n",
    "def fake_likelihood(net_apply, params, net_state, batch, is_training):\n",
    "    return jnp.zeros(()), net_state"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 388,
   "metadata": {},
   "outputs": [],
   "source": [
    "net_fn = make_model(layer_dims=[100, 100, 100], invsp_noise_std=invsp_noise_std)\n",
    "net = hk.transform_with_state(net_fn)\n",
    "net_apply, net_init = net.apply, net.init\n",
    "net_apply = precision_utils.rewrite_high_precision(net_apply)\n",
    "_, net_state = net.init(jax.random.PRNGKey(param_seed), (f, None), True)\n",
    "\n",
    "net_apply, params, net_state = get_mfvi_model_fn(net_apply, sgd_params, net_state, sigma_init=-3.)\n",
    "net_state = jax.pmap(lambda _: net_state)(jnp.arange(num_devices))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 389,
   "metadata": {},
   "outputs": [],
   "source": [
    "num_iterations = 10000\n",
    "lr_schedule = optim_utils.make_cosine_lr_schedule(1e-3, num_iterations)\n",
    "optimizer = optim_utils.make_adam_optimizer(lr_schedule)\n",
    "opt_state = optimizer.init(params)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 390,
   "metadata": {},
   "outputs": [],
   "source": [
    "vi_log_prior_fn, _ = make_elbo_gaussian_log_prior(weight_decay, 1.)\n",
    "sgd_train_epoch = train_utils.make_sgd_train_epoch(\n",
    "    net_apply, log_likelihood_fn, vi_log_prior_fn, optimizer, num_batches=1)\n",
    "# sgd_train_epoch = train_utils.make_sgd_train_epoch(\n",
    "#     net_apply, fake_likelihood, vi_log_prior_fn, optimizer, num_batches=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 391,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████| 10000/10000 [00:46<00:00, 217.27it/s]\n"
     ]
    }
   ],
   "source": [
    "\n",
    "key = jax.random.PRNGKey(0)\n",
    "key = jax.random.split(key, num_devices)\n",
    "\n",
    "for iteration in tqdm.tqdm(range(num_iterations)):\n",
    "    params, net_state, opt_state, logprob_avg, key = sgd_train_epoch(\n",
    "        params, net_state, opt_state, train_set, key)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 392,
   "metadata": {},
   "outputs": [],
   "source": [
    "_, all_test_preds = jax.lax.scan(\n",
    "    lambda state, _: predict_fn(net_apply, params, state, test_set), \n",
    "    init=net_state,\n",
    "    xs=jnp.arange(10))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 394,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7f97985bd160>]"
      ]
     },
     "execution_count": 394,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "for pred in all_test_preds:#[::10][4:]:\n",
    "    plt.plot(x_, pred[0, :, 0])\n",
    "    \n",
    "plt.plot(x, y, \"ro\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 374,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'mfvi_key': ShardedDeviceArray([[2490749004, 2000077409]], dtype=uint32),\n",
       " 'net_state': FlatMapping({})}"
      ]
     },
     "execution_count": 374,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "net_state"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "py38",
   "language": "python",
   "name": "py38"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
